import java.util.HashMap;

public class HashMap1 {
    class Solution {
        public int singleNumber(int[] nums) {
            // Step 1: 创建一个哈希表来记录每个数字的出现次数
            HashMap<Integer, Integer> map = new HashMap<>();

            // Step 2: 遍历数组，把数字加入哈希表
            for (int num : nums) {
                // 如果哈希表里已经有这个数字，就更新它的次数
                map.put(num, map.getOrDefault(num, 0) + 1);
            }

            // Step 3: 遍历哈希表，找到只出现一次的数字
            for (int key : map.keySet()) {
                if (map.get(key) == 1) {
                    return key; // 返回只出现一次的数字
                }
            }

            return -1; // 理论上不会到这里，确保函数有返回值
        }
    }

}
